Ошибка заключается в том, что вызывается процедура локального контекста модуля прикладного объекта в глобальном контексте приложения, в котором она не видна.
Предположим, что в модуле справочника определена процедура ОтобразитьДанные():
Копировать в буфер обменаКопировать в буфер обменаПроцедура ОтобразитьДанные() Экспорт Сообщить("Процедура модуля объекта"); КонецПроцедуры |
Процедуры, объявленные в модуле объекта с ключевым словом Экспорт, доступны только в контексте работы с этим объектом (в данном случае с объектом СправочникОбъект.<имя>) и дополняют контекст объекта, существующий по умолчанию.
Если в модуле формы списка этого справочника попытаться выполнить следующий вызов:
Копировать в буфер обменаОтобразитьДанные();
будет получена названая выше ошибка, потому что такой вызов предполагает обращение к глобальному контексту прикладного решения, который не содержит процедуры модулей прикладных объектов.
Поэтому для того чтобы выполнить эту процедуру, следует вызывать ее в контексте объекта справочника:
Копировать в буфер обменаКопировать в буфер обменаЭлемент = Справочники.СправочникБанки.НайтиПоКоду(1).ПолучитьОбъект(); Элемент.ОтобразитьДанные(); |
Следует заметить, что процедура ОтобразитьДанные() будет доступна также в контексте модуля формы элемента справочника. Другим словами в модуле формы элемента справочника будет работать вызов:
Копировать в буфер обменаОтобразитьДанные();
Так происходит потому, что в контексте модуля формы элемента справочника доступны методы и свойства объекта, являющегося значением основного реквизита формы, - т.е. объекта справочника.
Более подробно можно прочитать об этом в разделе Контекст формы и основного реквизита формы.